package com.zyh.exception;
/*
try...catch执行流程：
       情况一： try中没有异常
              try之前 --- try中所有 --没有异常-  finally中代码 --- try之后
       情况二： try中有异常,但是没抓到
              try之前 --- try中异常之前代码 --遇到异常,暴露异常对象  ---  匹配castch,没配上 --- finally中执行 --- 将异常对象交给JVM处理
       情况三： try中有异常,并且抓到
              try之前  --- try中异常之前代码  ---  遇到异常,暴露异常对象和catch匹配 --- 匹配上走catch --- finally --- try之后
       总结：  一旦try中有异常, try中可能出现异常之后的代码 就属于无效代码
              当try中没有异常或者异常被解决, try之后的代码就会执行
 */
public class Test1 {
    public static void main(String[] args) {
        System.out.println("try之前的代码");
        try {
            System.out.println("try中可能出现异常之前的代码");
            int num = 10 / 0; // 假设可能出现异常
            System.out.println("try中可能出现异常之后的代码");
        } catch (ArithmeticException e) {
            System.out.println("解决异常的代码");
        } finally {
            System.out.println("finally中无论如何都要执行的代码");
        }
        System.out.println("try之后的代码");
    }
}


